/*public <T> arr*/
class Alg<T extends Comparable<T>> {
    public T findMax(T[] arr){
        T max = arr[0];
        for(int i = 0; i < arr.length; i++){
            //T max = arr[0];在这里每次循环就会执行
            if(arr[i].compareTo(max) > 0){
                max = arr[i];
            }
        }
        return max;
    }
}
class Person implements Comparable<Person>{
    @Override
    public int compareTo(Person o) {
        return 0;
    }
}
class Alg2{
    public <T extends Comparable<T>> T find(T[] arr){
        T max = arr[0];
        for(int i = 0; i < arr.length; i++){
            //T max = arr[0];在这里每次循环就会执行
            if(arr[i].compareTo(max) > 0){
                max = arr[i];
            }
        }
        return max;
    }
}
public class Test2 {
    //写泛型类，求数组的最大值，类型用泛型类型来指定
    public static void main(String[] args) {
        Alg<Integer> alg1 = new Alg<>();
        Alg<Person> alg2 = new Alg<Person>();
        //alg2 = new Person[]{"j"};*public
        Integer[] array = {22,32,3,43,12};
        int ret = alg1.findMax(array);
        System.out.println(ret);
    }
}
